package org.dxy.domain.adapter.repository;

import org.dxy.domain.model.aggregate.Product;

/**
 * 产品仓储接口
 * @author dxy
 * @createTime 2025/8/17
 */
public interface IProductRepository {
    
    /**
     * 保存产品聚合根
     */
    void save(Product product);
    
    /**
     * 根据ID查找产品
     */
    Product findById(Long productId);
    
    /**
     * 根据产品编码查找产品
     */
    Product findByProductCode(String productCode);
    
    /**
     * 检查产品编码是否存在
     */
    boolean existsByProductCode(String productCode);
}